package com.hsd.core.utils;

import java.io.File;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class XMLUtils {
	
	public static void main(String[] args) {
		/*try{
            SAXReader saxReader = new SAXReader(); //使用SAXReader方式读取XML文件
            //加载数据库XML配置文件，得到Document对象
            Document document = saxReader.read(new File("d:/test.xml")); 
            Element root = document.getRootElement(); //获得根节点
            //得到database节点
            Element database = (Element)root.selectSingleNode("//w:wordDocument/w:body/wx:sect"); 
            //System.out.println(database.asXML());
            List list = database.elements(); //得到database元素下的子元素集合
            
             * 循环遍历集合中的每一个元素
             * 将每一个元素的元素名和值在控制台中打印出来
             
            for(Object obj:list){
                Element element = (Element)obj;
                //getName()是元素名,getText()是元素值
                //System.out.println(element.getName()+": "+element.getText());
                System.out.println(element.asXML());
            }
        }catch(Exception e){
            e.printStackTrace();
        }*/
		
		System.out.println(getXML("d:/test.xml","//w:wordDocument/w:body/wx:sect"));

	}
	
	public static String getXML(String path,String nodePath){
		StringBuffer sb = new StringBuffer("");
		try{
            SAXReader saxReader = new SAXReader(); //使用SAXReader方式读取XML文件
            //加载数据库XML配置文件，得到Document对象
            Document document = saxReader.read(new File(path)); 
            Element root = document.getRootElement(); //获得根节点
            //得到database节点
            Element database = (Element)root.selectSingleNode(nodePath); 
            //System.out.println(database.asXML());
            List list = database.elements(); //得到database元素下的子元素集合
            /*
             * 循环遍历集合中的每一个元素
             * 将每一个元素的元素名和值在控制台中打印出来
             */
            for(Object obj:list){
                Element element = (Element)obj;
                System.out.println();
                sb.append(element.asXML());
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        return sb.toString();
	}
   
}
